/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package espe.ccsoft.dao;

import espe.ccsoft.models.UnidadSocio;
import espe.ccsoft.orm.ORMBase;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 *
 * @author misahaelfernandez
 */
public class UnidadSocioDao extends ORMBase<UnidadSocio> {

    public final void insert(UnidadSocio historialSocio) throws Exception {
        
        historialSocio.setEstado(true);
        historialSocio.setFecha_creacion(new java.sql.Timestamp(new java.util.Date().getTime()));
        super.insertSql = "INSERT INTO HISTORIAL_SOCIO ("
                + "UNI_ID,"
                + "SOC_ID,"
                + "HIS_FECHACREACIÓN,"
                + "HIS_ESTADO"
                + ") VALUES(?, ?, ?, ?)";

        super.insert(new Object[]{
            historialSocio.getUnidadsocio().getId_unidad(),
            historialSocio.getUnidadsocio().getId_socio(),
            historialSocio.getFecha_creacion(),
            historialSocio.isEstado(),});
    }

    public final void update(UnidadSocio historialSocio) throws Exception {
        super.updateSql = "UPDATE HISTORIAL_SOCIO "
                + "SET HIS_ESTADO=? "
                + "WHERE UNI_ID=? "
                + "AND SOC_ID=?";

        super.update(new Object[]{
            historialSocio.isEstado(),
            historialSocio.getUnidadsocio().getId_unidad(),
            historialSocio.getUnidadsocio().getId_socio(),});
    }

    @Override
    protected UnidadSocio crearObjeto(ResultSet rs) throws SQLException {
        UnidadSocio historialSocio = new UnidadSocio();
        historialSocio.setUnidadsocio(rs.getInt("UNI_ID"), rs.getInt("SOC_ID"));
        historialSocio.setFecha_creacion(rs.getTimestamp("HIS_FECHACREACIÓN"));
        historialSocio.setEstado(rs.getBoolean("HIS_ESTADO"));

        return historialSocio;
    }

}
